package com.pxst.fo.sys.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pxst.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@TableName("sys_fo_order_main")
public class FoOrderMainEntity extends BaseEntity {

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty(value = "商户id")
    private Long merchantId;

    @ApiModelProperty(value = "参考编号")
    private String reference;

    @ApiModelProperty(value = "to用户名称")
    private String toMan;

    @ApiModelProperty(value = "to银行")
    private String toBank;

    @ApiModelProperty(value = "to银行账户")
    private String toCardNumber;

    @ApiModelProperty(value = "用户发起金额")
    private BigDecimal requestAmount;

    @ApiModelProperty(value = "实际作用金额")
    private BigDecimal paidAmount;

    @ApiModelProperty(value = "系统手续费")
    private BigDecimal rate;

    @ApiModelProperty(value = "启用由商户支付银行费")
    private Integer payBankFee;

    @ApiModelProperty(value = "银行手续费")
    private BigDecimal bankFee;

    @ApiModelProperty(value = "商户支付银行手续费")
    private BigDecimal bankFeeMerchant;

    @ApiModelProperty(value = "余额")
    private BigDecimal balance;

    @ApiModelProperty(value = "交易前余额")
    private BigDecimal preBalance;

    @ApiModelProperty(value = "讯银余额")
    private BigDecimal balanceXy;

    @ApiModelProperty(value = "讯银交易前余额")
    private BigDecimal preBalanceXy;

    @ApiModelProperty(value = "商户钱包余额")
    private BigDecimal merchantWalletBalance;

    @ApiModelProperty(value = "订单完成时间")
    private Date completedAt;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "状态明细 1:余额不足,2:无卡")
    private Integer statusDescription;

    @ApiModelProperty(value = "手动操作状态")
    private Integer action;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "强制显示子单新增按钮")
    private Integer forceSubManual;

    @ApiModelProperty(value = "审核账户名称0 预设(不需审核) 1 待财务审核 2 待商户审核 3 拒绝 4 通过")
    private Integer confirmAccname;

    @ApiModelProperty(value = "检查人员(由商户确认)")
    private String checkedMan;

    @ApiModelProperty(value = "检查时间(由商户确认)")
    private Date checkedAt;

    @ApiModelProperty(value = "审核人员")
    private String confirmedMan;

    @ApiModelProperty(value = "审核时间")
    private String confirmedAt;

    @ApiModelProperty(value = "当地创建时间")
    private Date localCreatedAt;

    @ApiModelProperty(value = "当地修改时间")
    private Date localUpdatedAt;

    @ApiModelProperty(value = "异步通知地址")
    private String notifyUrl;
}
